package com.simplehire.service;

import com.simplehire.model.User;
import com.simplehire.model.UserPermission;

import java.time.LocalDateTime;
import java.util.List;

public interface UserService {
    List<User> getAllUsers();
    User getUserById(Long id);
    User createUser(User user);
    User updateUser(Long id, User user);
    void deleteUser(Long id);
    List<UserPermission> getUserPermissions(Long userId);
    UserPermission addUserPermission(Long userId, String permission, LocalDateTime expiresAt);
    void removeUserPermission(Long userId, String permission);
    void removeUserPermissionById(Long userId, Long permissionId);
    List<User> searchUsers(String keyword);
    boolean isAdmin(User user);
}